<?php
class Usuario extends ORMBase{
	
	protected $tablename = 'usuario';
	
	public static function getUsuario(){
		if ( isset($_SESSION['login']) ){
			$usuario = new Usuario();
			$usuario->find($_SESSION['login']);
			return $usuario;
		}
		return false;
	}
	
	
	public static function login($username, $userkey){
		$usuarios = new ORMCollection("Usuario");
		$usuarios->whereAnd('userName =', $username);
			//->whereAnd('userkey =', $userkey);
			
		if ($usuarios->count() > 0 ){			
			
			$usuario = $usuarios->get(0);
			
			/*if ( time() - $usuario->lastfaillogin  < 50 ){
				$_REQUEST['time']=(time() - $usuario->lastfaillogin);	
				//$response = (time() - $usuario->lastfaillogin);
				//debug($response, "In Login");
				//return false;
			    throw new Exception("TOOMANYFAILSLOGIN");
			}*/
			
			
			if ( $usuario->userKey != $userkey ){

				
				//$usuario->lastfaillogin = time();
				//$usuario->update();
				//$_REQUEST['time']=(time() - $usuario->lastfaillogin);
				throw new Exception("contraseña incorrecta");
			}
					
			$_SESSION['login'] = $usuario->toArray();
			
			$personal= new Personal($usuario->personal);
			$_SESSION['login']['personal']=$personal->toArray();		
			
			return true;
		}else
		{
			throw new Exception("usuario incorrecto");			
			//$_REQUEST['time']=time();
		}
		
		throw new Exception("LOGINFAIL");
		return false;
	}
	
	
 	/*public static function md5_base64($data) {
    	return base64_encode(pack('H*',md5($data)));
	}
	*/
	
	
}
?>
